開發 Rails app 數年間總有卡關的感覺,想想應該要深入對「計算機科學」的瞭解,能將過程中遇到的事物與計算機演進歷史的知識連結,專業地描述前因後果。
回顧學習「程式語言」的教材幾乎跟「計算機科學」不相關。教材的方向都是介紹 keyword, syntax 為主,配合內建的 data type,教導如何將人所考慮的事務寫成程式的邏輯判斷。教材的中後段,會使用內建或他人開發包裝的 function 或 lib 實作較複雜的功能。但退一步看整個內容,敘述總是停留在建立符合規則的 input 與顯示返回的 output,在黑盒子外側打轉。
我認為需要進一步探索黑盒子的內容才能升級能力。藉助熟悉的 Ruby 與 YARV 對計算機科學的具體詮釋,學習 OS 及 hardware 的知識。YARV 是用 C 實作的 interpreter,我需要重建 C 的知識。同時 C 也是與 OS 及 processor 有深刻關連的程式語言,過程中應該會遇見一些被 framework 包裝掉的 solution 原貌,學習背後的知識。
整理已知與未知,計劃怎麼進行: